package com.xjk.api.ocr.tencent.impl;

import com.tencentcloudapi.common.AbstractModel;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.ocr.v20181119.OcrClient;
import com.tencentcloudapi.ocr.v20181119.models.RecognizeGeneralInvoiceRequest;
import com.tencentcloudapi.ocr.v20181119.models.RecognizeGeneralInvoiceResponse;
import com.tencentcloudapi.ocr.v20181119.models.VatInvoiceOCRRequest;
import com.tencentcloudapi.ocr.v20181119.models.VatInvoiceOCRResponse;

/**
 * @author XJK
 * @create_time 2024/7/13
 */
public class TencentVatInvoiceOCR extends TencentAbstractOCR{



    public String doHandle(String image64){
        try{
            init();
            // 实例化一个请求对象,每个接口都会对应一个request对象
            VatInvoiceOCRRequest req = new VatInvoiceOCRRequest();

            // 下面的内容均为选填字段：
            // 图片的base64编码内容
            String imageBase64 = image64;
            req.setImageBase64(imageBase64);
            // 图片/PDF的 Url 地址。

            // IsPdf 是否开启PDF识别，默认值为false，开启后可同时支持图片和PDF的识别。
            req.setIsPdf(true);
            // PdfPageNumber 需要识别的PDF页面的对应页码


            // 返回的resp是一个RecognizeGeneralInvoiceResponse的实例，与请求对象对应
            VatInvoiceOCRResponse resp = client.VatInvoiceOCR(req);
            // 输出json格式的字符串回包
            return AbstractModel.toJsonString(resp);
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
            return null;
        }
    }

}
